Implemented Aquacomputer Next Vision coolant temperature reading - #487
Open
420coupe wants to merge 1 commit into
Open
Implemented Aquacomputer Next Vision coolant temperature reading#487420coupe wants to merge 1 commit into
420coupe wants to merge 1 commit into
Conversation
Owner
|
There are a lot of changes here, including removal of my donation link in the metadata.json. I think the biggest reason for the large diff is your IDE changed ' to ". Can you refactor this diff so it is easier to see the true changes? |
Author
|
@corecoding There we go, fixed difference in IDE prettier changes. Now you can see just the implementation of AC Next vision. |
420coupe
force-pushed
the
acvision
branch
2 times, most recently
from
August 16, 2025 22:23
d57efa2 to
e85577b
Compare
Author
|
Ok fixed the whitespace fixes from IDE as well, hence the forced pushes above. Now correctly displaying just the changes to implement acvision |
420coupe
force-pushed
the
acvision
branch
2 times, most recently
from
June 23, 2026 04:37
c2c8e66 to
602d223
Compare
420coupe
force-pushed
the
acvision
branch
3 times, most recently
from
August 5, 2026 05:43
0e78fd4 to
c2cbd75
Compare
Read coolant temperature from an Aquacomputer Next Vision and give liquid cooling its own sensor groups, so coolant and pump no longer borrow the threshold colors of chip temperatures and case fans. The Vision has no hwmon driver, so the reading comes from raw HID. It is a composite device that also exposes keyboard and consumer control interfaces, and only the vendor defined one reports telemetry, so match the report descriptor usage page as well as the USB vendor and product id. Reading either of the other interfaces blocks forever because they never send a report. Telemetry arrives as a 64 byte report with id 0x01 holding the coolant temperature at offset 0x37, big endian, in hundredths of a degree. Coolant runs far cooler than a CPU and a pump far faster than a case fan, so sharing temperature-colors and fan-colors left their breakpoints useless. Promote both to entries in sensorCatalog. The preference sidebar, threshold color editors, changed:: signal wiring and dropdown menu groups are all derived from that catalog, so each gains a page, a show-* toggle and a *-colors key. The pump arrives on a fan input and is reassigned to its own group by label, and fan inputs are now discovered when either group is enabled. colorsKeyForSensor() resolved format 'temp' to temperature-colors before consulting the sensor's group, which made a per group scale impossible. Check the group first and keep the format fallback so GPU temperatures still share the temperature scale. Coolant also gets its own unit. Threshold colors are matched against the displayed value, so the unit and the breakpoints have to agree. The unit key is resolved from the catalog, leaving every other temperature source on the main unit. Add an 'aggregate' catalog flag marking groups populated by hardware monitor discovery, replacing the hardcoded group lists in the sensor query dispatch and in the group average, minimum and maximum block. sensorGroupFromType() only stripped '-group' and a trailing '#N', so a suffixed type resolved to itself and missed its catalog entry. Fall back to the leading segment. Panel icon margins are declared per sensor type and also zero the padding, so the new icons inherited the shell's system-status-icon padding and sat wider apart than the rest. Add matching rules. Ship water droplet and pump icons in both icon styles, and label several nct6799 inputs for this board, including the fan7 input the pump reports through.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Implemented Aquacomputer Next Vision coolant temperature reading - I was able to decode some of the response using an old visioncli repo as the starting base. There is still a lot of other things that can be decoded from response but 100% certain the current one I'm decoding matches the displayed value for coolant temp on the VISION OLED screen.
Additionally added custom icons for water temp and aio pump, custom icons appear both in the top bar and menu/sub-menu items. Also at first there was no fan speed being displayed until i
sudo modprobe nct6775and also added that command to/etc/modules-load.d/nct6775.confso it loads on restart.edited: added example of vitals with components below
